1. Field of the Invention
The present invention relates to a bus connection technique for connecting among functional circuits such as a processor, a memory, etc., which is used in an information processing apparatus such as a personal computer or the like, and its constituent elements, and particularly to a semiconductor device which realizes low jitter in a digital signal interface.
2. Description of the Related Art
When digital data is transferred among functional circuits such as a processor, a memory, etc. in an apparatus, a physical portion related to the data transfer is divided into two. That is, they are transmission lines which connect between a semiconductor device (hereinafter called “LSI”) for realizing a functional circuit and an LSI. They are collectively called “interface”. Although the speeding up of the interface is essential to an improvement in the performance of the apparatus, the speeding up thereof is becoming difficult due to physical restrictions on the transmission lines.
When the transfer of data is performed between two LSIs 14 and 16 as shown in FIG. 3, for example, waveform blunting occurs due to a dielectric loss or a skin effect at a high frequency of a data bus wire 15. An example of a blunt waveform is illustrated in FIG. 4. Let's assume that binary data like a data signal 320 is outputted from an LSI on the transmission side through a driver 14 in FIG. 4. A waveform 321 is a waveform which has reached an input terminal of a receiver 16. This results in the input waveform of the receiver 16. The receiver 16 receives the waveform 321 therein and returns it to a rectangular pulse. This waveform is designated at numeral 322. Here, the waveform 322 greatly changes in waveform width with respect to the transmitted pulse 320. This results from the following reasons.
Now, a rectangular wave is driven from L to H and H to L, and such a waveform 321 that data has reached the receiver 16, indicates blunting due to the previous effect. When a rising pulse is transmitted from L to H, for example, blunting occurs in the waveform 321 transmitted through a wire, so that the signal is not capable of perfectly rising to an H voltage during one cycle or it cannot be perfectly charged in another expression. Therefore, the signal remains at a perfectly non-charged voltage even if the time at which the next cycle starts is reached.
Upon the high-speed data transfer, the next data is transmitted before its charge is completed. Therefore, the input waveform 321 of the receiver 16 varies according to data in the previous cycle in terms of the voltage waveform of the data. This is called “data/pattern dependency or Inter Symbol Interference (ISI)”, which is one problem about speeding-up.
This shows that a setup time corresponding to a time width necessary to determine data and a hold time become short for the LSI on the receiving side. When the threshold voltage for reception is defined as VREF0, the times at which the waveform crosses it, vary according to data patterns at T1, T2, T3 and T4 . . . . This variation is called “jitter”. When the jitter increases, the time width (data window) necessary to determine the data cannot be ensured so that the rate of failure of data transfer increases. That is, it is not possible to perform higher-speed data transfer due to the waveform blunting.
In order to avoid it, there have been proposed such prior arts as shown in Dana Hall, et al., “Method for Transmitting Data over a Data Bus with Minimized Digital Inter-Symbol Interference”, U.S. Pat. No. 6,577,687 B2 June, 2003 and Sanjay Dabral. et. al, “Data-Pattern Induced Skew Reducer”, U.S. Pat. No. 5,953,521, September, 1999.
When the binary signal is transmitted through such a bus-connected data wire as shown in FIG. 3, actual data is transmitted in wait for a while (in wait for a sufficient reduction in voltage) without sending the actual data from a first cycle, thereby avoiding an error due to jitter. Since the reverse symbol of data was transmitted where one bit string has continued, the jitter could be reduced.
As described in U.S. Pat. No. 5,953,521, jitter reduced by data patterns was reduced by controlling driver's timing. That is, data lying in the present cycle and data lying in the immediately preceding cycle were compared. When they were found to be different from each other, a high frequency delay circuit (HF) was added with the data lying in the present cycle, whereas when they were found to be the same, a low frequency delay circuit (LF) was added with the data, thereby expanding a data window. Thus, although the jitter on the driver side can be reduced, the jitter on the receiver side cannot be reduced. This specification does not show such a disclosure as to determine a delay time or amount of the high frequency delay circuit and a delay time or amount of the low frequency delay circuit.
When such a technique as disclosed in U.S. Pat. No. 5,953,521 is used, dependency on a data pattern between continuous 2 bits can be controlled or adjusted. However, it was not possible to control a delay time or amount of dependency on data patterns of 3 bits or more.
If the state of the transmission line between LSIs is known in advance, then the delay time of the high frequency delay circuit and the delay time of the low frequency delay circuit can be determined at the stage of design of LSIs. However, when the LSI is used in a plurality of devices, the delay times cannot be determined uniquely. This is because the delay time necessary for jitter control varies for each device according to the condition of packaging of the transmission line.
A problem that the invention is to solve is to reduce jitter dependent on data patterns by an interface receiver. Another problem to be solved by the invention is to provide an LSI capable of automatically controlling the setting of a delay time for jitter reduction so as to be able to control its setting for each device.